<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="bootstrap-4.6.0-dist/css/bootstrap.min.css">
    <link rel="stylesheet" href="./css/api.css">
    <title>接口文档说明</title>
</head>
<body>
    <!-- <div class="screen">
        <div class="container wapper">
            <div class="row justify-content-center head">云盘接口说明</div>
            <div class="row  justify-content-start">
              <div class="col-sm-4 col-md-6 one">1.返回接口说明</div>
            </div>
        </div>
    </div> -->

    <div class="screen">
        <div class="container wapper">
            <div class="row justify-content-center head">云盘接口说明<span>Web by sheep</span></div>
            <!-- 嵌套的导航 -->
            <div class="row mt-5">
                <div class="col-3 d-lg-block d-none">
                    <nav class="navbar navbar-light bg-light flex-column" id="scroll2">
                        <a class="navbar-brand" href="#">Navbar</a>
                        <nav class="nav nav-pills flex-column">
                            <a class="nav-link" href="#item-1">1.返回结果说明</a>
                            <!-- <nav class="nav nav-pills flex-column">
                                <a class="nav-link ml-3 my-1" href="#item-1-1">Item 1-1</a>
                                <a class="nav-link ml-3 my-1" href="#item-1-2">Item 1-2</a>
                            </nav> -->
                            <a class="nav-link" href="#item-2">2.通用的调用方法</a>
                            <a class="nav-link" href="#item-3">3.各个bean的介绍</a>
                            <nav class="nav nav-pills flex-column">
                                <a class="nav-link ml-3 my-1" href="#item-3-1">·User</a>
                                <a class="nav-link ml-3 my-1" href="#item-3-2">·Role</a>
                                <a class="nav-link ml-3 my-1" href="#item-3-3">·Authority</a>
                                <a class="nav-link ml-3 my-1" href="#item-3-4">·Files</a>
                            </nav>
                            <a class="nav-link" href="#item-4">4.其他说明</a>
                            <a class="nav-link" href="#item-5">5.可能再开发的</a>
                        </nav>
                    </nav>
                </div>
                <div class="col-lg-9 col-12">
                    <div class="scrollBody2" data-spy="scroll" data-target="#scroll2" data-offset="0">
                        <h4 id="item-1">1.返回结果说明</h4>
                        <p>返回结果是一个Result JSON对象,在绝大多数情况下,都是该对象的返回,包括的类型如下:</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <!-- <th scope="col">#</th> -->
                                <th scope="col">属性名</th>
                                <th scope="col">属性类型</th>
                                <th scope="col">说明</th>
                                <th scope="col">注意事项</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <!-- <th scope="row">1</th> -->
                                <td>status</td>
                                <td>int</td>
                                <td>用于返回状态码,大多数情况下200为成功,400为失败,500为服务器错误,401为未登陆错误(有时候也是400)。</td>
                                <td>500错误请仔细看说明，如果是没有携带参数错误，请自己找原因，其他原因可能是bug，反馈一下.</td>
                              </tr>
                              <tr>
                                <!-- <th scope="row">2</th> -->
                                <td>data</td>
                                <td>Object</td>
                                <td>返回的数据,具体根据返回的数据而变化，在各个bean中会说明 。</td>
                                <td>在增丶改丶查功能中，是不会有数据返回的。</td>
                              </tr>
                              <tr>
                                <!-- <th scope="row">3</th> -->
                                <td>msg</td>
                                <td>String</td>
                                <td>返回的提示信息</td>
                                <td>仔细看吧，有时候也不一定对</td>
                              </tr>
                              <tr>
                                <!-- <th scope="row">2</th> -->
                                <td>codeSize</td>
                                <td>int</td>
                                <td>数据长度，这里指的是返回数据(数组)的长度</td>
                                <td>只有一个数据返回的就是1,没有数据返回此项为0.</td>
                              </tr>
                            </tbody>
                        </table>
                        <p class="redColor">特例:在调用files/download/时，会直接返回文件本身!(也就是下载)</p>

                        <h4 id="item-2">2.通用的调用方法</h4>
                        <p>此接口中拥有一批通用的增删改查方法:</p>
                        <p>调用:/xxx/get,xxx为那个bean,现在有user,role,authority,files</p>
                        <p class="redColor">所有携带参数请注意大小写!</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <!-- <th scope="col">#</th> -->
                                <th scope="col">接口名称</th>
                                <th scope="col">接口介绍</th>
                                <th scope="col">所需参数</th>
                                <th scope="col">注意事项</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <!-- <th scope="row">2</th> -->
                                <td>get</td>
                                <td>用于返回一个对象数据,通过id查询</td>
                                <td>id</td>
                                <td>这里id是通指，一般来说会将bean的首字母小写加在前面,例如:user/get?uid=x
                                    role/get?rid=x
                                </td>
                              </tr>
                              <tr>
                                <!-- <th scope="row">3</th> -->
                                <td>msg</td>
                                <td>String</td>
                                <td>返回的提示信息</td>
                                <td>仔细看吧，有时候也不一定对</td>
                              </tr>
                              <tr>
                                <!-- <th scope="row">2</th> -->
                                <td>add</td>
                                <td>用于添加一个对象数据</td>
                                <td>根据具体的bean而决定</td>
                                <td>一般不需要携带id参数,id是自增长的</td>
                              </tr>
                              <tr>
                                <td>update</td>
                                <td>用于修改一个对象数据</td>
                                <td>根据具体的bean而决定</td>
                                <td>需要携带所有bean的信息，包括id，但请注意id不可更改</td>
                              </tr>
                              <tr>
                                <td>getAll</td>
                                <td>返回该bean所有数据</td>
                                <td>无</td>
                                <td>无</td>
                              </tr>
                            </tbody>
                        </table>

                        <h4 id="item-3">3.各个bean的介绍</h4>
                        <p>一般情况下,属性名称即为from表单中的name的值;当一个bean中包含其他bean时，只需要将其他bean的属性名称作为name的值即可.</p>
                        <h5 id="item-3-1">·User</h5>
                        <p>此bean为用户bean，包含的属性如下:</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <th scope="col">属性名称</th>
                                <th scope="col">属性类型</th>
                                <th scope="col">属性说明</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>uid</td>
                                <td>int</td>
                                <td>主键，唯一标识</td>
                              </tr>
                              <tr>
                                <td>username</td>
                                <td>String</td>
                                <td>用户名，具体约束由前端定</td>
                              </tr>
                              <tr>
                                <td>password</td>
                                <td>String</td>
                                <td>密码,具体约束由前端定</td>
                              </tr>
                              <tr>
                                <td>roleList</td>
                                <td>Role</td>
                                <td>角色集合</td>
                              </tr>
                              <tr>
                                <td>filesList</td>
                                <td>Files</td>
                                <td>文件集合</td>
                              </tr>
                            </tbody>
                        </table>
                        <p>包含的调用接口/user/xxx(xxx为下面的接口名):</p>
                        <p class="redColor">注意,已经除去了一些通用的接口说明!</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <th scope="col">接口名</th>
                                <th scope="col">接口说明</th>
                                <th scope="col">携带参数</th>
                                <th scope="col">注意事项</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>login</td>
                                <td>用户登录</td>
                                <td>username,password</td>
                                <td>使用其他接口必须要先登陆</td>
                              </tr>
                              <tr>
                                <td>getPage</td>
                                <td>分页查询</td>
                                <td>pageNum,pageSize</td>
                                <td>无</td>
                              </tr>
                              <tr>
                                <td>main</td>
                                <td>返回当前用户信息</td>
                                <td>无</td>
                                <td>无</td>
                              </tr>
                              <tr>
                                <td>register</td>
                                <td>用户注册</td>
                                <td>username,password</td>
                                <td>默认注册是普通用户</td>
                              </tr>
                              <tr>
                                <td>quit</td>
                                <td>退出登陆</td>
                                <td>无</td>
                                <td>无</td>
                              </tr>
                              <tr>
                                <td>add</td>
                                <td>增加用户</td>
                                <td>除uid,filesList外所有参数</td>
                                <td>建议Post请求</td>
                              </tr>
                              <tr>
                                <td>update</td>
                                <td>修改用户</td>
                                <td>该bean所有属性</td>
                                <td>通常情况下，用户只能修改密码，其他修改为管理员操作,建议Post请求</td>
                              </tr>
                            </tbody>
                        </table>
                        <h5 id="item-3-2">·Role</h5>
                        <p>此bean为角色bean,包含属性如下:</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <th scope="col">属性名称</th>
                                <th scope="col">属性类型</th>
                                <th scope="col">属性说明</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>rid</td>
                                <td>int</td>
                                <td>主键，唯一标识</td>
                              </tr>
                              <tr>
                                <td>rname</td>
                                <td>String</td>
                                <td>角色名称</td>
                              </tr>
                              <tr>
                                <td>password</td>
                                <td>String</td>
                                <td>密码,具体约束由前端定</td>
                              </tr>
                              <tr>
                                <td>rdescribe</td>
                                <td>String</td>
                                <td>角色说明</td>
                              </tr>
                              <tr>
                                <td>authorityList</td>
                                <td>Authority</td>
                                <td>角色权限集合</td>
                              </tr>
                            </tbody>
                        </table>
                        <p>包含的调用接口/role/xxx(xxx为下面的接口名):</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <th scope="col">接口名</th>
                                <th scope="col">接口说明</th>
                                <th scope="col">携带参数</th>
                                <th scope="col">注意事项</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>add</td>
                                <td>添加一个角色</td>
                                <td>除rid以外所有参数</td>
                                <td>约束由前端定</td>
                              </tr>
                              <tr>
                                <td>update</td>
                                <td>修改一个角色</td>
                                <td>所有参数</td>
                                <td>约束由前端定</td>
                              </tr>
                            </tbody>
                        </table>
                        <p class="redColor">该Bean的增删改操作应由管理员操作!用户应该只能看到自己属于什么角色!</p>
                        <h5 id="item-3-3">·Authority</h5>
                        <p>此bean为权限bean,包含属性如下:</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <th scope="col">属性名称</th>
                                <th scope="col">属性类型</th>
                                <th scope="col">属性说明</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>aid</td>
                                <td>int</td>
                                <td>主键，唯一标识</td>
                              </tr>
                              <tr>
                                <td>aname</td>
                                <td>String</td>
                                <td>权限名称</td>
                              </tr>
                              <tr>
                                <td>aurl</td>
                                <td>String</td>
                                <td>权限对应的html页面的url(可为空)</td>
                              </tr>
                              <tr>
                                <td>adescribe</td>
                                <td>String</td>
                                <td>权限说明</td>
                              </tr>
                            </tbody>
                        </table>
                        <p>包含的调用接口/authority/xxx(xxx为下面的接口名):</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <th scope="col">接口名</th>
                                <th scope="col">接口说明</th>
                                <th scope="col">携带参数</th>
                                <th scope="col">注意事项</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>add</td>
                                <td>添加一个角色</td>
                                <td>除rid以外所有参数</td>
                                <td>约束由前端定</td>
                              </tr>
                              <tr>
                                <td>update</td>
                                <td>修改一个角色</td>
                                <td>所有参数</td>
                                <td>约束由前端定</td>
                              </tr>
                            </tbody>
                        </table>
                        <p class="redColor">该Bean的增删改操作应由管理员操作!用户不能看到自己拥有什么权限!</p>
                        <h5 id="item-3-4">·Files</h5>
                        <p>此bean为文件bean,包含属性如下:</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <th scope="col">属性名称</th>
                                <th scope="col">属性类型</th>
                                <th scope="col">属性说明</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>fid</td>
                                <td>int</td>
                                <td>主键，唯一标识</td>
                              </tr>
                              <tr>
                                <td>fname</td>
                                <td>String</td>
                                <td>文件名称</td>
                              </tr>
                              <tr>
                                <td>furl</td>
                                <td>String</td>
                                <td>文件在本地的地址</td>
                              </tr>
                              <tr>
                                <td>fopen</td>
                                <td>int</td>
                                <td>是否分享,0为不分享,1为分享</td>
                              </tr>
                              <tr>
                                <td>fdescribe</td>
                                <td>String</td>
                                <td>文件MIME类型</td>
                              </tr>
                            </tbody>
                        </table>
                        <p>包含的调用接口/files/xxx(xxx为下面的接口名):</p>
                        <table class="table">
                            <thead>
                              <tr>
                                <th scope="col">接口名</th>
                                <th scope="col">接口说明</th>
                                <th scope="col">携带参数</th>
                                <th scope="col">注意事项</th>
                              </tr>
                            </thead>
                            <tbody>
                              <tr>
                                <td>add</td>
                                <td>添加一个文件</td>
                                <td>files</td>
                                <td>Files为name值，实际数据为文件,参考用例请访问:/upfile.html参考源码</td>
                              </tr>
                              <tr>
                                <td>update</td>
                                <td>修改一个文件</td>
                                <td>限制用户只能修改文件名，其他数据原封不动的携带.</td>
                                <td>约束由前端定</td>
                              </tr>
                              <tr>
                                <td>getByFname</td>
                                <td>根据文件名称查询</td>
                                <td>Fname</td>
                                <td>无</td>
                              </tr>
                              <tr>
                                <td>download</td>
                                <td>下载文件</td>
                                <td>fid</td>
                                <td>此接口请使用href打开新页面的方式进行请求,ajax请求无法下载。</td>
                              </tr>
                            </tbody>
                        </table>
                        <p class="redColor">文件操作应给用户增删改查权限!</p>
                        
                        <h4 id="item-4">4.其他说明</h4>
                        <p>如何使用:</p>
                        <p>以下使用请确保电脑上面安装了JDK8或及其以上版本并且配置了Java环境变量.</p>
                        <p>环境变量配置请参考百度.</p>
                        <p>请确保电脑有网，因为数据库使用的是远程的数据库.</p>
                        <p>1.	下载jar包(不定时更新):</p>
                        <p><a href="https://wdtt.lanzoui.com/i5H53tn1gqf" target=”_blank>https://wdtt.lanzoui.com/i5H53tn1gqf</a></p>
                        <p>2.	把该jar放入一个文件夹中:</p>
                        <p><img src="./img/1.png" alt=""></p>
                        <p>在上面地址栏中输入cmd，然后回车: </p>
                        <p><img src="./img/2.png" alt=""></p>
                        <p>出现黑框框(根据自己电脑设置,可能颜色不一样): </p>
                        <p><img src="./img/3.png" alt=""></p>
                        <p>输入java -jar 文件名称(这里可以使用tab键来快速生成,注意空格):</p>
                        <p><img src="./img/4.png" alt=""></p>
                        <p>在浏览器中输入localhost:8080即可看见页面(其中主页面的介绍已经过时!)</p>

                        <h4 id="item-5">5.可能再开发的</h4>
                        <p>验证码</p>
                        <p>权限分发</p>
                        <p>后端页面需要前端做出来之后才能把地址写到权限bean中</p>
                        <br>
                        <br>
                        <br>
                        <br>
                    </div>
                </div>
            </div> 
        </div>
    </div>

    
    <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
		integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
		crossorigin="anonymous"></script>
	<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
		integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
		crossorigin="anonymous"></script>

	<script>
		//事件
		$('[data-spy="scroll"]').on('activate.bs.scrollspy', function () {
			// 每当滚动到一项的时候，就会触发
			console.log(1);
		})
	</script>
</body>
</html>